package mx.ipn.escom.redes.equipo.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

@Entity
@Table(name = "documentacion")
public class Documento {
	
	private Integer idDocumento;
	
	private String nombre;
	
	private Double version;
	
	private Integer edicion;
	
	private String autor;
	
	private String revision;
	
	private List<Equipo> listEquipo;
	
	public Documento(){}

	/**
	 * @return the idDocumento
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "idDocumentacion", nullable = false)
	public Integer getIdDocumento() {
		return idDocumento;
	}

	/**
	 * @param idDocumento the idDocumentacion to set
	 */
	public void setIdDocumento(Integer idDocumento) {
		this.idDocumento = idDocumento;
	}
	
	/**
	 * @return the nombre
	 */
	@Column(name = "nombre", nullable = false)
	public String getNombre() {
		return nombre;
	}

	/**
	 * @param nombre the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * @return the version
	 */
	@Column(name = "version", nullable = false)
	public Double getVersion() {
		return version;
	}

	/**
	 * @param version the version to set
	 */
	public void setVersion(Double version) {
		this.version = version;
	}

	/**
	 * @return the edicion
	 */
	@Column(name = "edicion", nullable = false)
	public Integer getEdicion() {
		return edicion;
	}

	/**
	 * @param edicion the edicion to set
	 */
	public void setEdicion(Integer edicion) {
		this.edicion = edicion;
	}

	/**
	 * @return the autor
	 */
	@Column(name = "autor", nullable = false)
	public String getAutor() {
		return autor;
	}

	/**
	 * @param autor the autor to set
	 */
	public void setAutor(String autor) {
		this.autor = autor;
	}

	/**
	 * @return the revision
	 */
	@Column(name = "revision", nullable = true)
	public String getRevision() {
		return revision;
	}

	/**
	 * @param revision the revision to set
	 */
	public void setRevision(String revision) {
		this.revision = revision;
	}

	/**
	 * @return the listEquipo
	 */
	@ManyToMany(mappedBy = "listDocumento")
	public List<Equipo> getListEquipo() {
		return listEquipo;
	}

	/**
	 * @param listEquipo the listEquipo to set
	 */
	public void setListEquipo(List<Equipo> listEquipo) {
		this.listEquipo = listEquipo;
	}
	
}
